<%-- 
    Document   : CON_VISTA_CHEQUE
    Created on : 05-nov-2014, 10:11:43
    Author     : equipo_4
--%>

<%@page import="java.text.DateFormat"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="CONTABILIDAD_MODELO.CON_FECHA_CIERRE"%>
<%@page import="java.util.Date"%>
<%@page import="java.util.Calendar"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="Conexion.Conexion"%>
<%@page import="RRHH_Modelo.RHH_USUARIO"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script src="../login/js/jquery-1.8.2.min.js" type="text/javascript"></script>
        <script src="../js/jquery-ui.js" type="text/javascript"></script>
         <script src="../js/jquery.ui.touch-punch.js" type="text/javascript"></script>
         <script src="../login/js/jquery.transform.js" type="text/javascript"></script>
         <link href="../css/NuevoStilo.css" rel="stylesheet" type="text/css"/>
         <script src="../js/jspdf.min.js" type="text/javascript"></script>
        <title>BROKER</title>
    </head>
    <body>
         <%
             RHH_USUARIO usuario = ((RHH_USUARIO)request.getSession().getAttribute("usr"));
             Conexion con = new Conexion(usuario.getUSUARIO(), usuario.getPASSWORD());      
             CON_FECHA_CIERRE fecha = new CON_FECHA_CIERRE();
             fecha.setCon(con); 

             int mes=fecha.mesActual();
             int ano=fecha.anoActual();
         %>
          <div id="CuerpoFormulario">
             <h1 id="tituloFormulario">REPORTE DE MAYORES</h1>
             <div id="contenedorBuscadorEstrella">
                 <div style="margin-top: -58px;position: fixed;" id="entreperiodo">
                     <span class="negrillaenter">Periodo</span>
                     <input type="text" id="año" placeholder="AÑO" class="chico">
                     <select id="mes" >                                            
                         <option value="1">ENERO</option>
                         <option value="2">FEBRERO</option>
                         <option value="3">MARZO</option>
                         <option value="4">ABRIL</option>
                         <option value="5">MAYO</option>
                         <option value="6">JUNIO</option>
                         <option value="7">JULIO</option>
                         <option value="8">AGOSTO</option>
                         <option value="9">SEPTIEMBRE</option>
                         <option value="10">OCTUBRE</option>
                         <option value="11">NOVIEMBRE</option>
                         <option value="12">DICIEMBRE</option>
                     </select>
                 </div>

                 <div style="position: fixed;"  id="entrefechas">
                     <input id="de" type="text" class="chico" placeholder="DESDE"/>
                     <input id="hasta" type="text" class="chico" placeholder="HASTA"/>
                 </div>               
             </div>

             <div class="contenedor100 altoGrande">
                 <div id="buscadores" style="background: white; padding: 5px;">
                     <button onclick="atras();"><-  ANTERIOR</button>
                     <input type="text" name="busqueda"  class="grande"  placeholder="Buscador" name="buscar" style="margin-bottom: 0; background: none; color:black; ">
                     <button style="float: right;" onclick="siguiente();">SIGUIENTE  -></button>
                </div>
                <div id="tabs2" style="overflow: auto; background: none repeat scroll 0 0 white; height: 317px;opacity: 0.85;padding: 10px 5px 10px 1px;">
                    <div style="margin: 0 auto;">
                        <div style="margin-bottom: 10px">
                            <span class="negrilla">TIC MAYOR :</span><span id="tic"></span> <br>
                            <span class="negrilla">CUENTA :</span><span id="ccuenta"></span> - <span id="cdesc"></span> <br>
                            <span class="negrilla">SALDO :</span><span id="csaldo"></span> <br>
                        </div>
                        <table id="tabla"  border=1 cellspacing=0 cellpadding=2 bordercolor="666633">

                        </table>    
                    </div>
                </div>
             </div>
          </div>
          <span id="resultado"></span>
         <footer>
             <a href="#"  onclick="imprimirPdf()"><img src="../img/iconos/imprimir.png" /><br/>
                 IMPRIMIR
             </a>
             <a href="#"  onclick="exportarPdf()"><img src="../img/iconos/pdf.png" /><br/>
                 EXPORTAR PDF
             </a>
             <a href="#" id="Atras"><img src="../img/iconos/excel.png" /><br/>
                 EXPORTAR EXCEL
             </a>
          </footer>
         <script type="text/javascript">
             var de="";
             var hasta="";
             $("#de,#hasta").datepicker({ 
                dateFormat: "dd/mm/yy",
                closeText: 'Cerrar',
                prevText: 'Anterior',
                nextText: 'Siguiente',
                firstDay: 1,
                dayNames: [ "Domingo", "Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado" ],
                dayNamesMin: [ "Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa" ],
                monthNames: [ "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre" ],
                monthNamesShort: [ "Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dec" ],
                onSelect: function() {   
                   de = $("#de").val();
                   hasta = $("#hasta").val();                   
                   if(de!=""&&hasta!="")
                    {
                        busquedaperiodo=false;
                        repintarconentrefecha();
                    }
                }
            });
            function seleccionarBusqueda(elemento,codigo,descripcion,moneda){
                $("input[name=busqueda]").val(codigo);
                $("#resultado").css("display","none");
                $("#resultado").text("");
            }
             var entrefechass = true;
             var mes = <%out.print(mes);%>;
             var ano = <%out.print(ano);%>;
             var cuentas=[];
             var contador = 0;
             var buscar ="";
             var busquedaperiodo = true;
             $("#mes").change(function (){
                busquedaperiodo=true; 
                de="";
                hasta="";
                mes = $(this).find("option:selected").val();                 
                repintarconfecha()();                 
             });
             var count=0;
             var focusresultante=0;
             $("input[name=busqueda]").keyup(function(e){
                $("#resultado").text(""); 
                var posicion = $("input[name=busqueda]").position();
                $("#resultado").css({
                    position:"absolute",
                    left:posicion.left-6,
                    top:posicion.top+20,
                    background:"white",
                    border:"solid black thin",
                    font:"10px Arial",
                    color:"black",
                    opacity:0.7,
                    display:"block"
                });
                 var value=$(this).val();
                $.each(ListaCuentaContable, function(i, item) {
                    var codigo = ListaCuentaContable[i].CODIGO.replace(/\-/g, '');  
                    if(ListaCuentaContable[i].DESCRIPCION.toUpperCase().search(value.toUpperCase())>-1 || codigo.search(value)==0 || item.CODIGO.indexOf(value)==0){
                        var extra="";
                         if(count==focusresultante){
                            extra=" style='background:red;' data-focus='1' ";
                        }
                        var texto = "<a href='#' "+extra+" data-id='"+parseInt(item.id)+"' class='negrillaenter' onclick=\"seleccionarBusqueda(this,'"+item.CODIGO+"', '"+item.DESCRIPCION+"','"+item.MONEDA+"')\">"+item.CODIGO+" "+item.DESCRIPCION+"</a>";
                        $('#resultado').append(texto);
                        count++;
                         if(i==10)return false;
                    }
                    de="";
                    hasta="";
                });
                count=0;
                if(e.keyCode==13){
                    $("#resultado a:eq("+(focusresultante-1)+")").click();
                    focusresultante=0;
                    $("#resultado").css("display","none");
                    if(busquedaperiodo)
                      repintarconfecha();
                  else
                      repintarconentrefecha();
                 }
                if(e.keyCode==38){
                    focusresultante--;
                }
                if(e.keyCode==40){
                    focusresultante++;
                }
                if(focusresultante==-1){
                    focusresultante=$("#resultado a").length-1;
                }
                if(focusresultante==$("#resultado a").length){
                    focusresultante=0;
                }
             });
             $("#año").keyup(function(e){                 
                if(e.keyCode==13){
                    busquedaperiodo=true;
                    $("#de").val("");
                    $("#hasta").val("");
                    ano=$("#año").val();
                    mes=$("#mes option:selected").val();
                    repintarconfecha();
                 }
             });
             $(document).click(function(){
                 $("#resultado").css("display","none");
                 focusresultante=0;
                 count=0;
             });
             $(window).resize(function(){
                 $("input[name=busqueda]").css({
                    position:"fixed",
                    left: (($(".contenedor100").position().left+$(".contenedor100").width()) - $('input[name=busqueda]').outerWidth())/2,
                 });

                 $("#de").parent().css({
                     top:$(".contenedor100").position().top-39, 
                     left:($(".contenedor100").position().left+$(".contenedor100").width())-225
                 });

               
             });
              $(document).ready(function(){
                
                 $("#año").val(ano);
                
                 $("input[name=busqueda]").css({
                    position:"fixed",
                    left: (($(".contenedor100").position().left+$(".contenedor100").width()) - $('input[name=busqueda]').outerWidth())/2,
                 });

                 $("#de").parent().css({
                   top:$(".contenedor100").position().top-39, 
                   left:($(".contenedor100").position().left+$(".contenedor100").width())-225
                 });
                 $("#tdesc").css({
                    position:"fixed",
                   left:$(".contenedor100").position().left
                 });
                 $("#mes option[value="+mes+"]").attr("selected","selected");
                  $("#de").parent().css({
                     top:$(".contenedor100").position().top-39, 
                     left:($(".contenedor100").position().left+$(".contenedor100").width())-225
                  });
                  versionamiento();
                   
             });
             var vistos = false;
             var cc = true;
             function siguiente()
            {
                if(contador>cuentas.length)
                {
                    return;
                } 
               repintar();
            }
            function atras()
            {
                if(contador<=0)
                {
                    return;
                } 
                contador=contador-2;
                               
                if(contador<0)
                {
                    contador=1;
                    return ;
                }
                repintar();
            }
            
            
            
            function repintar()
            {
                if(busquedaperiodo)
                {
                    $.post("../CON_VISTA_MAYORES_CONTROLLER",{proceso:"concc",numero:cuentas[contador],mes:mes,ano:ano},function (data)
                    {
                        contador++;
                         var json = $.parseJSON(data);
                            $("#tabla").html(json.data);
                            $("#ccuenta").text(json.codigo);
                            $("#cdesc").text(json.desc);
                            $("#tic").text(json.padre);
                            $("#csaldo").text(json.saldo);
                            $("#tabs2 > div").css({
                                width:($("#tabla").width())
                             });
                    });
                }
                else
                {
                    var de = $("#de").val();
                    var hasta = $("#hasta").val();
                    $.post("../CON_VISTA_MAYORES_CONTROLLER",{proceso:"conccfec",numero:cuentas[contador],de:de,hasta:hasta},function (data)
                    {
                        contador++;
                         var json = $.parseJSON(data);
                            $("#tabla").html(json.data);
                            $("#ccuenta").text(json.codigo);
                            $("#cdesc").text(json.desc);
                            $("#tic").text(json.padre);
                            $("#csaldo").text(json.saldo);
                            $("#tabs2 > div").css({
                                width:($("#tabla").width())
                             });
                    });
                }
            }
            var url="../CON_VISTA_MAYORES_CONTROLLER";
            function repintarconfecha()
            {
                contador=0;
                buscar =$("input[name=busqueda]").val();
                if(buscar.length!=0)
                $.each(ListaCuentaContable, function(i, item) {
                    var codigo = ListaCuentaContable[i].CODIGO.replace(/\-/g, '');  
                    if(codigo.search(buscar)==0 || item.CODIGO.indexOf(buscar)==0){
                        buscar=item.CODIGO;
                        return false;
                    }
                });
               $.post("../CON_VISTA_MAYORES_CONTROLLER",{proceso:"cuentas",mes:mes,ano:ano,cuenta:buscar},function (data)
                    {                    
                        cuentas = data.split(",");
                        if(cuentas[0]!="")
                        {
                            $.post("../CON_VISTA_MAYORES_CONTROLLER",{proceso:"concc",numero:cuentas[contador],mes:mes,ano:ano},function (data)
                            {
                                var json = $.parseJSON(data);
                                contador++;
                                $("#back").css("display","none");

                                $("#tabla").html(json.data);
                                $("#ccuenta").text(json.codigo);
                                $("#cdesc").text(json.desc);
                                $("#tic").text(json.padre);
                                $("#csaldo").text(json.saldo);
                            });
                        }
                        else
                        {
                            $("#tabla").html("");
                            $("#ccuenta").text("");
                            $("#cdesc").text("");
                            $("#tic").text("");
                            $("#csaldo").text("");
                        }
                    });
            }
            function repintarconentrefecha()
            {
                contador=0;
                buscar =$("input[name=busqueda]").val();
                var de = $("#de").val();
                var hasta = $("#hasta").val();
                 if(buscar.length!=0)
                $.each(ListaCuentaContable, function(i, item) {
                    var codigo = ListaCuentaContable[i].CODIGO.replace(/\-/g, '');  
                    if(codigo.search(buscar)==0 || item.CODIGO.indexOf(buscar)==0){
                        buscar=item.CODIGO;
                        return false;
                    }
                });
               $.post("../CON_VISTA_MAYORES_CONTROLLER",{proceso:"fechas",de:de,hasta:hasta,cuenta:buscar},function (data)
                    {                    
                        cuentas = data.split(",");
                        if(cuentas[0]!="")
                        {
                            $.post("../CON_VISTA_MAYORES_CONTROLLER",{proceso:"conccfec",numero:cuentas[contador],de:de,hasta:hasta},function (data)
                            {
                                var json = $.parseJSON(data);
                                contador++;
                                $("#back").css("display","none");

                                $("#tabla").html(json.data);
                                $("#ccuenta").text(json.codigo);
                                $("#cdesc").text(json.desc);
                                $("#tic").text(json.padre);
                                $("#csaldo").text(json.saldo);
                            });
                        }
                        else
                        {
                            $("#tabla").html("");
                            $("#ccuenta").text("");
                            $("#cdesc").text("");
                            $("#tic").text("");
                            $("#csaldo").text("");
                        }
                    });
            }



            var ListaCuentaContable=[];
            var ListaCentroCosto=[];
            function versionamiento(){
                var versionCuenta=localStorage['versionCuentaHoja'];
                if(typeof (versionCuenta)=="undefined")
                    versionCuenta=-1;
                $("#popUpCarga").css("display","block");
                $("#popUpbackGround").css("display","block");
                $.post(url,{proceso:"version"},function(responsetext){
                     var json=$.parseJSON(responsetext);
                     if(json.cuenta!=versionCuenta){
                         cargarCuentas(json.cuenta,versionCuenta);
                     }else{
                        ListaCuentaContable = $.parseJSON(localStorage['CuentaContableHoja']);
                        $("#popUpCarga").css("display","none");
                        $("#popUpbackGround").css("display","none");
                        repintarconfecha();
                     }
                });
               
            }
            function cargarCuentas(versionCuenta,vcuenta){
                ListaCuentaContable = $.parseJSON(localStorage['CuentaContableHoja']);
                if(ListaCuentaContable==null){
                    ListaCuentaContable=[];
                }
                $.post(url,{proceso:"cargarCuenta",cuenta:vcuenta},function(responsetext){
                    var json=$.parseJSON(responsetext);
                    localStorage['versionCuentaHoja']=versionCuenta;
                    if(vcuenta==-1){
                        if(typeof(ListaCuentaContable)!="undefined")
                        ListaCuentaContable=json.cuenta;
                    }else{
                        $.each(json.cuenta, function(){
                            var item=$(this);
                            if(item.CODIGO=="na"){
                                delete ListaCuentaContable["c"+item.id];
                            }else{
                                 ListaCuentaContable["c"+parseInt(item.id)]={
                                     CODIGO:item.CODIGO,
                                     MONEDA : item.MONEDA,
                                     DESCRIPCION : item.DESCRIPCION,
                                     NIVEL :item.NIVEL,
                                     id :item.id,
                                     idnivel : item.idnivel,
                                     tipo : item.tipo
                                 }; 
                             } 
                         });
                    }
                    localStorage["CuentaContableHoja"] = JSON.stringify(ListaCuentaContable);
                    $("#popUpCarga").css("display","none");
                    $("#popUpbackGround").css("display","none");
                    repintarconfecha();
                });
            }
            function exportarPdf(){
                var doc=Pdf();
                doc.save('Reporte de cheques.pdf');
            }
            function imprimirPdf(){
                var doc=Pdf();
                var string = doc.output('datauri');
                var iframe = "<embed src='"+string+"' style=\"width: 900px; height: 600px; margin: 0 auto; display: block;\">";
                var x = window.open();
                x.document.open();
                x.document.write(iframe);
                x.document.close();
            }
            function Pdf(){
                var description="Este reporte de mayores fue generado el periodo de "+$("#mes option:selected").text()+" del "+$("#año").val();
                if(de!=""&&hasta!=""){
                   description="Este reporte de mayores fue generado entre las fechas de "+de+" y "+hasta;
                }
                var doc = new jsPDF("l","mm","letter");
                var date = new Date();
                var mes=(date.getMonth()+1)+"";
                mes=mes.length===1?"0"+mes:mes;
                var dia=date.getDate()+"";
                dia=dia.length===1?"0"+dia:dia;
                var año=date.getFullYear();
                var hora=date.getHours()+"";
                hora=hora.length===1?"0"+hora:hora;
                var min=date.getMinutes()+"";
                min=min.length===1?"0"+min:min;
                var seg=date.getSeconds()+"";
                seg=seg===1?"0"+seg:seg;
                var fecha=dia+"/"+mes+"/"+año+" "+hora+":"+min+":"+seg;
                doc.text(125,10,"REPORTE DE MAYORES");
                var fila=38;
                var hoja=1;
                var puntoini=31;
                doc.setFontSize(8);
                var tic=$("#tic").text();
                var cuent=$("#ccuenta").text();
                var sald=$("#csaldo").text();
                doc.text(7,18,description);
                doc.setFontType("bold");
                doc.text(7,21,"TIC MAYOR: ")
                doc.setFontType("normal");
                doc.text(30,21,tic);
                doc.setFontType("bold");
                doc.text(7,24,"CUENTA: ")
                doc.setFontType("normal");
                doc.text(30,24,cuent);
                doc.setFontType("bold");
                doc.text(7,27,"SALDO: ")
                doc.setFontType("normal");
                doc.text(30,27,sald);
                doc.setFontType("bold");
                
                doc.text(7,34,"CODIGO");
                doc.text(26,34,"FECHA");
                doc.text(40,34,"TIPO");
                doc.text(64,34,"GLOSA");
                doc.text(95,34,"CODIGO CENTRO");
                doc.text(130,34,"DESCRIPCION CENTRO");
                doc.text(176,34,"ACR.");
                doc.text(184,34,"TC");
                doc.text(195,34,"DEBE");
                doc.text(211,34,"HABER");
                doc.text(225,34,"HABER TC");
                doc.text(243,34,"DEBE TC");
                doc.text(260,34,"SALDO");
               
                doc.line(5,31,274,31);
                doc.line(5,35,274,34);
                
                doc.setFontSize(7);
                doc.setFontType("normal");
                var tabla=$("table tr");
                for (i = 0; i < tabla.length-1; i++) {
                    var tr=$(tabla[i]);
                    if(tabla.length-2==i){     
                        fila-=2;
                        doc.line(5,fila,274,fila);
                        doc.line(183,puntoini,183,fila);
                        fila+=3;
                        doc.text(179,fila,tr.find("td:eq(0)").text());
                        var debe=tr.find("td:eq(1)").text();
                        doc.text(205-debe.length*1.2,fila,debe);
                        var haber=tr.find("td:eq(2)").text();
                        doc.text(223-haber.length*1.2,fila,haber);
                        var debetc=tr.find("td:eq(3)").text();
                        doc.text(240-debetc.length*1.2,fila,debetc);
                        var hebrtc=tr.find("td:eq(4)").text().trim();
                        doc.text(257-hebrtc.length*1.2,fila,hebrtc);
                    }else{
                        doc.text(6,fila,tr.find("td:eq(0)").text());
                        doc.text(24,fila,tr.find("td:eq(1)").text());
                        doc.text(42,fila,tr.find("td:eq(2)").text().substring(0,1));
                        var glosa=tr.find("td:eq(3)").text();
                        glosa=glosa.length>31?glosa.substring(0,31):glosa;
                        doc.text(48,fila,glosa);
                        doc.text(93,fila,tr.find("td:eq(4)").text());
                        var descentro=tr.find("td:eq(5)").text();
                        descentro=descentro.length>36?descentro.substring(0,33):descentro;
                        doc.text(124,fila,descentro);
                        doc.text(176,fila,tr.find("td:eq(6)").text());
                        doc.text(184,fila,tr.find("td:eq(7)").text());
                        var debe=tr.find("td:eq(8)").text();
                        doc.text(205-debe.length*1.2,fila,debe);
                        var haber=tr.find("td:eq(9)").text();
                        doc.text(223-haber.length*1.2,fila,haber);
                        var debetc=tr.find("td:eq(10)").text();
                        doc.text(240-debetc.length*1.2,fila,debetc);
                        var hebrtc=tr.find("td:eq(11)").text();
                        doc.text(257-hebrtc.length*1.2,fila,hebrtc);
                        var saldo=tr.find("td:eq(12)").text();
                        doc.text(273-saldo.length*1.2,fila,saldo);
                    }
                    fila+=3;
                    if(fila>209){
                        doc.line(5,puntoini,5,fila);
                        doc.line(23,puntoini,23,fila);
                        doc.line(39,puntoini,39,fila);
                        doc.line(47,puntoini,47,fila);
                        doc.line(92,puntoini,92,fila);
                        doc.line(123,puntoini,123,fila);
                        doc.line(175,puntoini,175,fila);
                        doc.line(183,puntoini,183,fila);
                        doc.line(190,puntoini,190,fila);
                        doc.line(207,puntoini,207,fila);
                        doc.line(224,puntoini,224,fila);
                        doc.line(241,puntoini,241,fila);
                        doc.line(258,puntoini,258,fila);
                        doc.line(274,puntoini,274,fila);
                        fila-=2;
                        doc.line(5,fila,274,fila);
                        puntoini=10;
                        doc.text(5,212,"Fecha realizada:  "+fecha);
                        doc.text(265,212,"Hoja #"+hoja);
                        hoja++;
                        fila=10;
                        doc.addPage(); 
                    }
                }
                fila-=2;
                doc.line(5,puntoini,5,fila);
                doc.line(23,puntoini,23,fila);
                doc.line(39,puntoini,39,fila);
                doc.line(47,puntoini,47,fila);
                doc.line(92,puntoini,92,fila);
                doc.line(123,puntoini,123,fila);
                doc.line(175,puntoini,175,fila);
                
                doc.line(190,puntoini,190,fila);
                doc.line(207,puntoini,207,fila);
                doc.line(224,puntoini,224,fila);
                doc.line(241,puntoini,241,fila);
                doc.line(258,puntoini,258,fila);
                doc.line(274,puntoini,274,fila);
                doc.line(5,puntoini,5,fila);
                doc.line(5,fila,274,fila);
                doc.setFontType("normal");
                doc.text(5,212,"Fecha realizda:  "+fecha);
                doc.text(265,212,"Hoja #"+hoja);
                return doc;
            }
         </script> 
     </body>
</html>
